Skip to main content

pandas pd



Series是一维容器,可以表示DataFrame的每一列
DataFrame可看作由Series组成的字典,key是列名,value是Series

## Series
没有行的概念,即使是一行数据也会以列形式展示

由两部分组成:values(numpy.ndarray类型数据)和index(行索引标签)
未指定索引时会自动创建0到N-1的整数型索引

pd.Series(['banana',42])


索引区别:
loc:基于行索引取值
iloc:基于行号取值
当行索引和行号值相同时需要特别注意区分


作业背景:在数据处理的步骤中,可以使用 SQL 语句或者 pandas 加 Python 库、函数等方式进行数据的清洗和处理工作。

因此需要你能够掌握基本的 SQL 语句和 pandas 等价的语句,利用 Python 的函数高效地做聚合等操作。

作业要求:请将以下的 SQL 语句翻译成 pandas 语句:


1. SELECT * FROM data;

2. SELECT * FROM data LIMIT 10;
data.head(10)

3. SELECT id FROM data; //id 是 data 表的特定一列
data['id']
4. SELECT COUNT(id) FROM data;
data['id'].count()
5. SELECT * FROM data WHERE id<1000 AND age>30;
data[(data['id'] < 1000) & (data['age'] > 30)]
6. SELECT id,COUNT(DISTINCT order_id) FROM table1 GROUP BY id;
table1.groupby('id')['order_id'].nunique()
7. SELECT * FROM table1 t1 INNER JOIN table2 t2 ON t1.id = t2.id;
pd.merge(table1, table2, on='id', how='inner')
8. SELECT * FROM table1 UNION SELECT * FROM table2;
pd.concat([table1, table2]).drop_duplicates()
9. DELETE FROM table1 WHERE id=10;
table1 = table1[table1['id'] != 10]
10. ALTER TABLE table1 DROP COLUMN column_name;
table1.drop(columns=['column_name'], inplace=True)